home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
UpTime Volume 1 #6
/
utv1n6s2.d64
/
file converter
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-28
|
8KB
|
237 lines
0 ifa=0thena=1:load"0:convert.ml",8,1
2 poke51621,6:poke56,70:clr
3 sys 65418:poke 808,234
5 b=0
10 poke53280,7:poke53281,5
20 p$=""
25 cl$=" "
30 print"[142]"
40 gosub3000
45 ifscthena=55:goto5000
50 print"[147] [197]nter file to convert"
70 print" > ";:gosub2000
90 ift$="" thenprint"[145][145]":goto70
110 fs$=t$
130 print" [211]elect source character type from the list below:":gosub1610
135 print" > ";:poke204,0
250 geta$:ifa$<"a"ora$>"d"then250
270 poke204,255:t1=asc(a$)-64
290 ift1=1thencs$="[193][211][195][201][201]"
310 ift1=2thencs$="[208][197][212][211][195][201][201]"
330 ift1=3thencs$="[211]creen code"
350 ift1=4thengosub1210:goto130
370 print"[145][145][145][145][145][145][157][157][211]elect destination character type from the list below:"
375 gosub1610
380 print" > "cs$" to ";:poke204,0
390 get a$:if a$<"a" or a$>"d" then390
410 poke204,255:t2=asc(a$)-64
412 ift2=1thencd$="[193][211][195][201][201]":x$="asc"
414 ift2=2thencd$="[208][197][212][211][195][201][201]":x$="pet"
416 ift2=3thencd$="[211]creen code":x$="scr"
430 if t2=4 then gosub1210:print" ";:goto370
431 printcd$:ift1=t2then438
432 ift1=3andt2=2thenpoke685,0
433 ift1=3andt2=1thenpoke685,1
434 ift1=2andt2=3thenpoke685,2
435 ift1=2andt2=1thenpoke685,3
436 ift1=1andt2=3thenpoke685,4
437 ift1=1andt2=2thenpoke685,5
438 fd$=left$(fs$,8)+"."+x$
449 ift1<>t2thengosub4500
450 print" [215]hat type of file is the source file?"
470 print" ([211])equential, ([208])rogram, or ([213])nknown > ";:poke204,0
490 geta$:ifa$<>"s"anda$<>"p"anda$<>"u"then490
500 poke204,255
502 ifa$="s"thenyt$="[211]equential"
504 ifa$="p"thenyt$="[208]rogram"
506 ifa$="u"thengosub1200:goto450
510 ts$=a$
530 print"[145][145][145][157][157][215]hat type of file is the object file?"
540 print" ([211])equential, ([208])rogram, or ([213])nknown > "yt$" to ";:poke204,0
570 geta$:ifa$<>"s"anda$<>"p"anda$<>"u"then570
580 poke204,255
582 ifa$="s"thenprint"[211]equential"
584 ifa$="p"thenprint"[208]rogram"
586 ifa$="u"thengosub1200:print" ";:goto530
590 td$=a$:poke682,asc(td$)
592 poke683,0:poke684,0
595 iftd$<>"p"then690
600 print" [197]nter load address: ";:gosub2000
610 ad=val(t$):ifad=0thenad=7168
630 poke684,ad/256:poke683,ad-32768and255
690 print" [198]rom drive <8>";
710 geta$:ifa$<>"8"anda$<>"9"anda$<>chr$(13)then710
730 ds=val(a$):ifds=0thends=8:a$="8"
740 print"[157][157]"a$"";
750 print"to drive <8>";
770 geta$:ifa$<>"8"anda$<>"9"anda$<>chr$(13)then770
780 dd=val(a$):ifdd=0thendd=8:a$=""
785 print"[157][157]"a$:poke679,ds:poke680,dd
787 dk=0:ifds=ddthengosub4000
790 printtab(8)"[208]ress [210][197][212][213][210][206] when ready"
791 printtab(5)"[198]1 to re-start, [198]8 for [213]p[212]ime";
792 geta$:ifa$<>chr$(13)anda$<>"[140]"anda$<>"[133]"then792
793 ifa$="[140]"then5100
794 ifa$="[133]"then45
795 cs$=" "+cs$:cd$=" "+cd$
796 ift1=1thencs$="n"+cs$
798 ift2=1thencd$="n"+cd$
800 print"[147] [198]rom [196]evice"ds"[157], a"cs$" file"
810 print" [212]o [196]evice"dd"[157], a"cd$" file":poke17979,0:poke17980,0
811 a$="$0:"+fs$:forl=1tolen(a$):poke827+l,asc(mid$(a$,l,1)):nextl:poke780,2
812 poke781,ds:poke782,0:sys65466:poke780,len(a$):poke781,60:poke782,3
813 sys65469:poke780,0:poke781,0:poke782,70:sys65493
815 ifpeek(17979)=0andpeek(17980)=0thenprint""tab(6)fs$" isn't there!":goto1740
816 b=peek(17952)+256*peek(17953):bq=b:ifbq>130thenbq=130
817 ab=peek(17987)+256*peek(17988)
818 ifab<bthenprint" [212]his disk doesn't have enough room for this file"
819 ifab<bthen1740
820 printtab(9)" [212]otal blocks: "
825 ifdkandb>130thenprint"[145][145][145] [212]his is too big for two disks":dk=0
830 printtab(9)" [194]locks read : "
840 printtab(8)" 0% 25% 50% 75% 100%
850 [153][163]9)"or>>>>>>>>>>>>>>>>>>>>^
860 printtab(9)"[221] [146][221]
870 [153][163]9)"/tantantantantantantantantantantantantantantantantantantantanexp
875 printp$tab(15)"[204]oading..."
880 print""tab(20-(len(fs$)/2))fs$
881 open15,ds,15,"i0":f=15:gosub1700:open14,dd,15,"i0":f=14:gosub1700
882 ifdk=0thenprint#14,"s0:"fd$
885 open2,ds,2,"0:"+fs$+","+ts$+",r"
886 ifdk=0thenopen3,dd,3,"0:"+fd$+","+td$+",w"
890 poke39,bq:poke144,0:sys51200:gosub1680
895 ift2=t1then930
900 printp$tab(13)"[195]onverting..."
910 print""cl$:printp$"[145][145][145][145][145][145][145][145][145]"tab(24)" "
920 poke39,bq:sys51203:ifdkthenprintp$cl$cl$cl$:printp$tab(12)"([195]hange disks.)"
922 ifdkthenclose2
925 ifdkthengeta$:ifa$=""then925
926 ifdkthenprint#14,"s0:"fd$
927 ifdkthenopen3,dd,3,"0:"+fd$+","+td$+",w"
930 printp$cl$p$tab(15)"[211]aving..."
940 print""cl$:printp$
950 printtab(20-(len(fd$)/2))fd$
954 f=14:gosub1700:printp$"[145][145][145][145][145][145][145][145][145]"tab(24)" "
960 poke39,b:poke144,0:sys51206
962 gosub1680
965 ifpeek(254)=200thenpoke681,83:poke682,83:goto885
968 close2:close3
970 printp$cl$p$tab(15)"[198]inished!"
980 printtab(6)"[195]onvert another file? ([217]/[206])":poke198,0
990 geta$
1000 ifa$="y"then45
1010 ifa$="n"then5100
1020 goto990
1200 rem list of word processors
1210 print"[147][215]ord [208]rocessors","[195]hr type","[198]ile type"
1215 print"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
1220 print"[197]asy [211]cript 64","[208][197][212][211][195][201][201]","[211]eq"
1230 print"[211]peed[211]cript","[211]cr codes","[208]rg"
1240 print"[194]ank [211]treet [215]riter","[208][197][212][211][195][201][201]","[211]eq"
1250 print"[208]aper [195]lip","[211]cr codes","[208]rg"
1260 print"[215]ord [205]aster 64","[208][197][212][211][195][201][201]","[211]eq"
1280 print" [201]f not on list, assume [208][197][212][211][195][201][201] [211]eq"
1290 printtab(8)"[208]ress [210][197][212][213][210][206] to continue"
1370 geta$:ifa$<>chr$(13)then1370
1380 print"[147]"
1390 return
1400 print"[147] [215]ord processor file converter"
1600 print"[208]ossible character sets:"
1610 print" a) [193][211][195][201][201]",,"b) [208][197][212][211][195][201][201]"
1620 print" c) [211]creen codes","d) [213]nknown
1630 [142]
1680 [151]144,0:[158]51472:en$[178][199]([194](828))[170][199]([194](829)):l[178]831
1685 [139][194](l)[179][177]44[167]em$[178]em$[170][199]([194](l)):l[178]l[170]1:[137]1685
1690 et$[178][199]([194](l[170]1))[170][199]([194](l[170]2)):es$[178][199]([194](l[170]4))[170][199]([194](l[170]5))
1695 [137]1710
1700 [132]f,en$,em$,et$,es$
1710 [139]en$[179]"20"[167][142]
1720 [160]2:[160]3:[160]15
1730 [153]"load str$isk error:"en$", "em$","et$","es$
1740 [153][163]9)"(NULL)ress (NULL)val(NULL)(NULL)(NULL)(NULL) to retry,"
1742 [153][163]13)"[asc1] to restart"
1745 [153][163]11)"or [asc8] for (NULL)p(NULL)ime"
1750 [161]a$:[139]a$[178]"restore"[167]4999
1760 [139]a$[178][199](13)[167]800
1765 [139]a$[178]"input"[167]45
1770 [137]1750
2000 t$[178]"":[151]204,0
2010 [161]a$:[139]a$[178]""[167]2010
2020 [139]a$[178][199](13)[167][151]204,255:[153]" ":[142]
2030 [139]a$[178][199](20)[175]t$[178]""[167]2010
2050 [139]a$[178][199](20)[167]t$[178][200](t$,[195](t$)[171]1):[151]204,255:[153]" cmd"a$;:[151]204,0:[137]2010
2060 [139]a$[178]"restore"[167]5100
2070 [139]a$[179]" " [176]a$[177]"(NULL)"[167]2010
2090 [139]a$[178][199](34)[167]2010
2110 [139] a$[177]"_" [175] a$[179]"atn" [167]2010
2130 [139] [195](t$)[178]16 [167]2010
2150 t$[178]t$[170]a$
2170 [153]a$;
2190 [137]2010
3000 [153]"load closeclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclose"
3005 [151]53265,91:[151]53282,1:[151]53283,3:[151]53284,10
3010 [153]" closeclosecloseclose(NULL)val(NULL)(NULL)closelen(NULL)(NULL)(NULL)val(NULL)(NULL)val(NULL)closeclosecloseclose"
3020 [153]" closeclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclosecloseclose"
3030 [153]" closeclosecloseclosecloseclosecloseclosecloseclose wait"
3040 [153]" closeclosecloseclosecloseclosecloseclosecloseclose text converter wait"
3050 [153]"